const { createClient } = require('redis');

// Redis 连接配置（请修改为你的实际配置）
const redisConfig = {
    host: 'localhost',
    port: 6379,
    password: 'X3WzfcTI3LEXPhyW', // 你的 Redis 密码
    db: 0
};

// 创建客户端
const client = createClient(redisConfig);

// 错误监听
client.on('error', (err) => {
    console.error('❌ Redis 错误:', err.message);
});

// 简单测试 set 和 get 操作
async function testSetGet() {
    try {
        // 连接 Redis
        await client.connect();
        console.log('✅ Redis 连接成功');

        // 测试 set 操作
        const setResult = await client.set('test_key', 'hello_redis');
        console.log('set 操作结果:', setResult); // 成功应返回 'OK'

        // 测试 get 操作
        const getResult = await client.get('test_key');
        console.log('get 操作结果:', getResult); // 应返回 'hello_redis'

        // 测试设置带过期时间的键（10秒后过期）
        await client.set('temp_key', 'will_expire', { EX: 10 });
        console.log('set 带过期时间的键: temp_key（10秒后过期）');

        // 验证过期时间设置
        const ttl = await client.ttl('temp_key');
        console.log('temp_key 剩余过期时间（秒）:', ttl); // 应返回约 10

    } catch (err) {
        console.error('❌ 操作失败:', err.message);
    } finally {
        // 关闭连接
        await client.disconnect();
        console.log('\n📌 Redis 连接已关闭');
    }
}

// 启动测试
testSetGet();